<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>选项卡切换</title>
</head>

<body>
    <div id="box">
        <ul id="tab">
            <li style="background: red;">选项卡1</li>
            <li style="background: rgb(57, 206, 57);">选项卡2</li>
            <li style="background: rgb(64, 126, 184);">选项卡3</li>
        </ul>
        <ul id="cont">
            <li style="background: rgb(203, 222, 169);">内容1</li>
            <li style="background: rgb(128, 145, 221);">内容2</li>
            <li style="background: rgb(211, 175, 175);">内容3</li>
            <!-- 在css样式中，后来者居上。意思是只显示最后的样式。 -->
        </ul>
    </div>
    <script>
        var t_lis = document.getElementById('tab').getElementsByTagName('li');
        var c_lis = document.getElementById('cont').getElementsByTagName('li');
        for (var i = 0; i < t_lis.length; i++) {
            //保存当前元素的索引值。
            t_lis[i].xb = i;
            t_lis[i].onclick = function () {
                for (var j = 0; j < c_lis.length; j++) {
                    //在改变样式前，先将所有样式隐藏。
                    c_lis[j].style.display = 'none';
                }
                c_lis[this.xb].style.display = 'block';
            }
        }
    </script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        li {
            list-style: none;
            ;
        }

        #box {
            width: 600px;
            height: 400px;
            margin: 0 auto;
            border: 1px solid #000;
        }

        #tab {
            width: 600px;
            height: 50px;
            line-height: 50px;
            /* 行高 */
            text-align: center;
            /* 文本排列 */
        }

        #tab li {
            width: 200px;
            height: 50px;
            font-size: 30px;
            float: left;
            ;
        }

        #cont {
            width: 600px;
            height: 340px;
            line-height: 350px;
            /* 行高 */
            text-align: center;
            /* 文本排列 */
            position: relative;
            /* 子元素需要进行定位，那么父级元素就要进行相对定位。 */
            margin-top: 10px;
        }

        #cont li {
            width: 600px;
            height: 350px;
            font-size: 30px;
            position: absolute;
            /* 子元素进行绝对定位 */
            top: 0;
            left: 0;
            display: none;
        }
    </style>
</body>

</html>